查看原文
其他

包教包会:定序回归实战 | 说人话的统计学 · 协和八

田菊 协和八 2022-06-07

❉说人话的统计学❉

在上一集《只问方向,无问远近,定序回归的执念你懂吗?》里面,我们一起了解了最有「人味儿」的回归形式「定序回归」。大家还记得为什么定序回归会有这样的名号吗?定序回归的因变量是定序变量,也就是有顺序的类别变量。其由于常常用于测量人的主观判断或感受,比如满意程度,疼痛程度等,所以是最有「人味儿」的模型。

今天这集,我们通过一个具体的例子看看定序回归是如何解决实际问题的,下面让我们请出说人话系列的长期客串演员蓝精灵们!

蓝精灵村子新开了一家火锅店,原来格格巫在自动售货机上挣了一笔之后,又有了开餐馆的想法了,他把村子外面流行的火锅引入蓝精灵村子,没想到生意很火爆,蓝精灵们经常要排很长的队才能吃上格格巫家的火锅。看着自家餐馆门口长长的队伍,队伍里蓝精灵吃货们既饥渴又不耐烦的眼神,格格巫心里又欣喜,又担忧。他寻思这队伍太长了会不会影响了顾客们对就餐经历的评价,于是琢磨着想研究一下排队等待时间和客户满意度之间的关系。他在用餐结束之后发出满意度问卷,同时记录下每桌客人的等待时间和每桌客人的人数。数据搜集完毕之后,格格巫便请蓝精灵村的统计小天才聪聪来帮忙分析数据。

聪聪先从整体上分析了一下要解决的问题,他要研究的因变量是客户满意度,属于定序变量(非常满意>满意>一般>不满意>非常不满意),正好可以用上最近新学的定序回归模型。至于模型的自变量,除了排队的时间之外,还应该考虑客人是一个人还是和别人一块儿来吃火锅的。毕竟,如果是一个人的话,也许对等待的忍耐程度会更低一些。

有了大致的思路之后,聪聪就把数据整理了一下。由于聪聪关心的是一个因变量、两个自变量,因此数据集大概是下面这样的(仅列出头四个数据点):

表 1 本集定序模型用到的数据集举例

接下来,我们用定序回归模型来分析一下,等待时间和单人就餐这两个因素是如何影响就餐满意度的。依照上一集《只问方向,无问远近,定序回归的执念你懂吗?》讲解过的模型形式,我们可以得到下面的模型:


要记住,上面的 Py≤非常不满意Py≤不满意 指的是累积概率,即因变量顾客满意度低于或等于某个特定级别(如「不满意」)的概率。

我们把等待时间(连续变量)作为因变量 x1,把单人就餐(二分类变量,1 代表是,0 代表不是)作为 x2,利用统计软件进行定序回归模型拟合,就可以拟合出模型中的参数(各回归系数和截距)的极大似然估计值。这里,我们使用的是免费开源软件 R 里面的 ordinal 程序包中的 clm 函数进行拟合,它输出的结果如下(其他统计软件的输出形式也是大同小异的):



图 1 R clm 函数输出的定序回归模型拟合结果。红框部分为我们对最关心的回归系数估计,结果的翻译对应表 2。蓝框部分对应的是截距的估计结果,大部分时候截距的结果对结论并不是很重要。



表 2 回归系数拟合结果小结,我们在论文或者报告中汇报模型结果的时候需要给出表中的值,结果展示的形式可以参考投稿杂志的要求,但是一般都要包括估计值、标准误差以及 p 值 。


从上面的结果可以看出,等待时间和是否是单人就餐这两个因素都对满意度有显著影响。我们还观察到回归系数都是负的,说明等待时间越长或者是单人就餐都会显著地减低吃火锅的满意度。一般统计软件除了输出自变量回归系数的信息之外,还会显示截距也就是 β非常不满意 等的估计值,在定序回归里面,截距有时也被称为阈值(threshold)或分界点(cut point)。

除了定性地知道自变量是否对因变量有显著影响及其方向,我们还想定量地知道等待时间和单人就餐这两个因素会是如何影响吃火锅的满意度的。要想更好地理解回归系数的含义,我们还得回到模型本身:


观察上面式子的左边,我们可以看到定序回归实际上是在预测因变量累积概率的分对数。通过模型拟合得到了回归模型的回归系数(β1β2)和截距(β非常不满意β不满意等)之后,我们可以运用下面的关系计算出 Py≤非常不满意Py≤不满意 等累积概率的预测值:


以上的形式其实与之前讲到的二分类以及多分类逻辑回归是一致的,只不过等式左边的概率不再是 y 属于某一类的概率,而是 y 小于等于某一个等级的概率,也就是 y 的累积概率。

由于因变量和两个自变量之间的关系是非线性的,无法简单地用「等待时间增加 x 分钟,满意度的累积概率会减小 y,这种我们熟悉的线性方式来描述因变量和自变量之间的关系。对于这样的非线性关系,正是因为它比较复杂,数学上最精确的表述也并不一定能让人很容易理解。这时,用数据可视化的方式不仅可以帮助自己更好地理解模型,还能直观有效地将数据建模的结论传达给读者。

我们下面就先聊一下用图来展示定序回归结果的几个要点。在将数据可视化时,咱们首先需要考虑的是 x 轴和 y 轴该是什么。由于我们的目的是展示拟合的模型,轴一般就是模型的预测值在定序回归里就是满意度的累计概率,共有五个:

Py≤非常不满意Py≤不满意Py≤一般Py≤满意Py≤非常满意

也就是说到时候作出的图会有五条曲线,分别对应上面的五个累积概率。顺道一提的是,非常满意是可能出现的最高等级,所以因变量小于等于非常满意的概率为总是 1,即 Py≤非常满意=1。

说完了 y 轴,再来看看 x 轴。统计模型的目的是定量地解释自变量与因变量之间的关系,既然 y 轴对应的是因变量,那 x 轴自然就得是自变量了。

在这一集讨论的例子里面,有两个自变量,选哪一个作为 x 轴呢?一般会选择连续变量形式的自变量,也就是例子里的等待时间作为 x 轴。这时,剩下来的那个类别变量的自变量该怎么办呢?通常的做法是针对每一个类别作一个图,在这个例子里面,我们针对非单人就餐(左图)以及单人就餐(右图)的情况分别做图。这样得到的图形如下:

图 2 用数据可视化的方法展示满意度和等待时间以及是否单人就餐之间的关系。y 轴是累计概率,x 轴代表等待时间(分钟)。左图是非单人就餐,右图是单人就餐。

首先,我们从上图可以清晰地看到当等待时间增加的时候,满意度小于等于特定值的概率是增加的,也就是说满意度整体是下降的。

另外,由于定序回归模型中的特定假设,上图里面有两个有趣的平移关系。首先,如果我们将每个图里的绿色曲线向右平移适当的量,便能与其它曲线完全重合。这其实是因为曲线的「形状」只和等待时间的回归系数 β的取值有关,而在我们的模型里面,不同满意度的累积概率所对应的回归系数 β的取值相同,才导致所有的累计概率曲线「形状」相同。

上面提到的这个有意思的平移关系,其实是我们讨论的定序回归模型的一个重要假设,所以这里再啰嗦两句。同一自变量在所有累计概率中的回归系数取值相等,这说明自变量改变一定的值时,「非常满意」的累积概率和「不满意」的累积概率的分对数改变的值是相同的, 这称之为比例优势(Proportional odds)假设,对应的模型也可以称之为「比例优势模型」。

第二个有趣的平移关系是,如果将左图也就是非独自就餐的预测值整体都向左平移 19.9,就能完全与右图重合。对为什么感到好奇的小朋友可以看下面的推导:

这第二个平移关系用人话说就是:从就餐满意程度而言,单人吃火锅等十分钟就餐,和多个人吃火锅等三十分钟就餐,效果是一样的。 而且,在等待相同时间的情况下,单人就餐的满意度整体是小于多个人吃火锅的满意度——看来蓝精灵们也喜欢人多一块吃火锅!

需要注意的是,在这一集的例子里面,我们并没有假设两个自变量之间有交互效应,如果加上交互效应的话,第二层平移关系就不存在了,而第一层的平移关系会保留。

最后,如果我们不仅想知道累积概率,还想知道y取特定满意程度的概率是如何随着自变量的变化而变化的,我们只要将图二稍做变换即可。由累计概率的定义,我们知道:


根据这一关系,我们很快便能将 y 取特定满意程度的概率与自变量的关系绘制出来,如下图:

图 3 用数据可视化的方法展示满意度和等待时间以及是否单人就餐之间的关系。y 轴是 y 取特定满意程度的概率,x 轴代表等待时间(分钟)。左图是非单人就餐,右图是单人就餐。


从上图里面可以清晰地看出,当等待时间增加式,非常满意的概率在逐渐减低,而不满意的概率在逐渐增高。

除了用作图的方法,之前在《逻辑回归的袅娜曲线,你是否会过目难忘?》学到的除四法则也能帮助我们迅速地估计自变量对因变量的影响。除 4 法则是说,在对自变量变化最敏感的区域,自变量每增加一个单位,累计概率变化值约等于回归系数除以 4。在上面的例子里面,等待时间的回归系数是 -0.09,等待时间每增加 10 分钟,P满意度≤a 增加了 0.09×10/4=0.225,这里的 a 可以是任何一个满意程度。也就是说等待时间增加 10 分钟时,对于特定的满意程度,最多有 22.5% 的顾客的满意程度会从高于某个满意程度变成低于这个满意程度。

读到这里,大家是否已经掌握了定序回归的理论和实践呢?希望大家在以后的实际应用中,遇到衡量人的主观判断的定序数据时,可不要忘了祭出我们的杀手锏——定序回归模型啊!

作者:田菊

编辑:鹅不食草

编辑:小二仙草


* 点击下方标题,或回复关键词「说人话的统计学」可随时查阅本系列任意文章!


干货

第 1 章  高屋建瓴看统计

你真的懂p值吗?

做统计,多少数据才算够?(上)

做统计,多少数据才算够?(下)

提升统计功效,让评审心服口服!

你的科研成果都是真的吗?

见识数据分析的「独孤九剑」

贝叶斯 vs 频率派:武功到底哪家强?


第 2 章  算术平均数与正态分布

数据到手了,第一件事先干啥?

算术平均数:简单背后有乾坤

正态分布到底是怎么来的?


第 3 章  t 检验:两组平均数的比较

想玩转 t 检验?你得从这一篇看起

就是要实用!t 检验的七十二变

不是正态分布,t 检验还能用吗?

只有 15 个标本,也能指望 t 检验吗?

样本分布不正态?数据变换来救场!

数据变换的万能钥匙:Box-Cox 变换

t 检验用不了?别慌,还有神奇的非参数检验

只讲 p 值,不讲效应大小,都是耍流氓!

找出 t 检验的效应大小,对耍流氓 say no!

用置信区间,就是这么(不)自信!

如何确定 t 检验的置信区间

优雅秀出你的 t 检验,提升 Paper 逼格!

要做 t 检验,这两口毒奶可喝不得!


第 4 章  方差分析(ANOVA):多组平均数的比较

要比较三组数据,t 检验还能用吗?

ANOVA 在手,多组比较不犯愁

ANOVA 的基本招式你掌握了吗?

ANOVA 做出了显著性?事儿还没完呢!

听说,成对t检验还有 ANOVA 进阶版?

重复测量 ANOVA:你要知道的事儿都在这里啦

没听说过多因素 ANOVA ?那你就可就 OUT 了!

多因素 ANOVA=好几个单因素 ANOVA?可没这么简单!

两个因素相互影响,ANOVA 结果该如何判读?

ANOVA 还能搞三四五因素?等等,我头有点儿晕

要做 ANOVA,样本量多大才够用


第 5 章  线性回归:统计建模初步

车模航模你玩过,统计学模型你会玩吗?

如果只能学习一种统计方法,我选择线性回归

回归线三千,我只取这一条

三千回归线里选中了你,你靠谱吗?

自变量不止一个,线性回归该怎么做?

找出「交互效应」,让线性模型更万能

天啦噜!没考虑到混杂因素,后果会这么严重?

回归系数不显著?也许是打开方式不对!

评价线性模型,R 平方是个好裁判吗?

如果R平方是砒霜,本文教你三种解药!

线性模型生病了,你懂得怎样诊断吗?

「脱离群众」的数据点,是「春风化雨」还是「秋风扫落叶」


第 6 章  广义线性模型:统计建模进阶

(未完,更新中)

你在 或者不在 需要逻辑回归来算

逻辑回归的袅娜曲线,你是否会过目难忘?

逻辑回归的统计检验,原来招数辣么多?

线性回归能玩多变量,逻辑回归当然也能!

喂,你的逻辑回归模型该做个体检啦

逻辑回归能摆平二分类因变量,那……不止二分类呢?

让人眼花缭乱的多项逻辑回归,原来是这么用的

只问方向,无问远近,定序回归的执念你懂吗?


自检

妈妈说答对的童鞋才能中奖

统计学的十个误区,你答对了吗?


番外篇

说人话的统计学:一份迟来的邀请

作者简介

张之昊

2010 年本科毕业于清华大学生命科学学院,获理学学士学位。2016 年 5 月在耶鲁大学跨院系神经科学项目获得哲学博士学位。在耶鲁期间,他利用功能核磁共振成像(fMRI)技术与计算建模研究人类经济决策的脑科学基础及其与肥胖症的联系,曾以第一作者身份在 Nature Communications, Current Biology 等顶尖学术杂志上发表多篇论著,并受到 BBC 新闻、CBC、洛杉矶时报、果壳网等知名媒体的关注和报道。他还曾任耶鲁大学 StatLab 数据咨询师(Data Consultant),为耶鲁师生提供实验设计、数据分析及统计学软件的咨询服务。2016 年 8 月至今在伯克利加州大学(UC Berkeley)哈斯商学院市场营销系担任博士后研究学者(Postdoctoral Scholar),致力于运用神经科学、经济学模型、自然语言处理及大数据方法研究消费者行为与决策。

作者简介

田菊

2010 年本科毕业于清华大学工程物理系,获工学学士学位。2016 年 5 月在哈佛大学医学院神经科学项目获得哲学博士学位。她在攻读博士期间研究基于奖赏的学习行为的神经回路及其计算模型,曾以第一作者或共同作者身份在 Nature,Cell,Neuron,Nature Neuroscience,Trends in Cognitive Science 等顶尖学术杂志上发表多篇论著。2016 年 6 月至今在 Facebook 担任数据科学家( Data Scientist ),运用大数据和人工智能解决网络诈骗、虚假新闻和不良广告等信息安全相关问题。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存